home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 52
/
Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso
/
Aminet
/
dev
/
gg
/
guile-1.4.1.lha
/
NEWS.goops
< prev
next >
Wrap
Text File
|
2001-03-10
|
5KB
|
199 lines
GOOPS NEWS --- history of user-visible changes. -*- text -*-
Copyright (C) 1999, 2001 Free Software Foundation, Inc.
See the end for copying conditions.
Please send GOOPS bug reports to bug-guile@gnu.org.
Changes since GOOPS 1.0:
* Changes to the distribution
** Updated the NEWS file with some lacking history
** Important bugfix to the configure script
** Updated documentation to reflect new method syntax
* Changes to functions and syntax
** define-method: New syntax mandatory.
The new method syntax described below under "Changes since GOOPS
0.1.6" is now mandatory.
If you have old code using the old syntax, import
(oop goops old-define-method) before (oop goops):
(use-modules (oop goops old-define-method) (oop goops))
Changes since GOOPS 0.9.0:
* Changes to the distribution
** Adaptations to changes in Guile
** Bumped libgoopscore version number to 5.
** Added a guile-oops manpage
* Changes to the object system
** Bugfix: Made method memoization thread safe
** Bugfix: Make sure body expansion works OK for methods.
** Hopefully last fix to method dispatch.
* Changes to functions and syntax
** New module: (oop goops internal)
Exports internal bindings. Good to have when implementing new modules
making use of GOOPS guts.
* Changes to the scm_interface
** Avoid using C++ reserved words in goops.h
Changes since GOOPS 0.1.8:
* Changes to the distribution
** Start use version numbering on the libgoopscore library
* Changes to the object system
** More fixes to dispatch on generic functions with rest arguments
Changes since GOOPS 0.1.6:
* Changes to the distribution
** Miscellaneous changes to documentation files
** Adaptations to new error message templates (~S, ~A)
** Adaptations to reorganization of types in Guile
** General adaptations to Guile-1.4
* Changes to the object system
** Fixed dispatch on generic functions with rest arguments
* Changes to functions and syntax
** define-method:
Methods definitions now have a new syntax:
(define-method (NAME ARG-SPEC ...) BODY ...)
(define-method (NAME ARG-SPEC ... . REST-ARG) BODY ...)
ARG-SPEC ::= ARG-NAME | (ARG-NAME TYPE)
REST-ARG ::= ARG-NAME
The old syntax (define-method NAME (ARG-SPEC ...) BODY ...)
will be around for a while.
** New module: (oop goops save)
Contains functions for saving objects to and loading object from
files. (Please refer to comments at the top of the module.)
** Bugfixes to getters
** Bugfix: shallow-clone, deep-clone
** compute-std-cpl
Modified to linearize according to the C3 algorithm in
http://www.webcom.com/haahr/dylan/linearization-oopsla96.html.
(Thanks to Michael Livshin.)
* Changes to the scm_ interface
** Made C variables for system classes global
** Fixed a memory leak associated with objects without slots
Changes since GOOPS 0.1.4:
* Changes to functions and syntax
** Bug fixes to getters and setters
** New function: slot-definition-init-form
** New generics: compute-getter-method, compute-setter-method
Changes since GOOPS 0.1.2:
* Changes to the distribution
** GOOPS 0.1.4 is dependent on Guile version >= 1.3.3
* Changes to functions and syntax
** A new scheme for "forwarding" calls to a builtin to a generic function
It is now possible to extend the functionality of some Guile
primitives by letting them defer a call to a GOOPS generic function on
argument mismatch. This functionality is enabled with the GOOPS
primitive
enable-primitive-generic! PRIMITIVE ...
[This primitive will disappear again in Guile-1.4 when all primitives
will be primitive generics.]
It is then possible to extend the primitive(s) by defining methods for
them without loss of efficiency in normal evaluation.
Example:
(use-modules (oop goops))
(enable-primitive-generic! +)
(define-method + ((x <string>) (y <string>))
(string-append x y))
+ will still be as efficient as usual in numerical calculations, but
can also be used for concatenating strings.
Who will be the first one to extend Guile's numerical tower to
rationals? :)
Changes since GOOPS 0.1:
* Changes to functions and syntax
** Corrected serious bugs in compute-slot-accessors and initialize <class>.
Copyright information:
Copyright (C) 1999 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
copyright notice and this permission notice are preserved,
thus giving the recipient permission to redistribute in turn.
Permission is granted to distribute modified versions
of this document, or of portions of it,
under the above conditions, provided also that they
carry prominent notices stating who last changed them.
Local variables:
mode: outline
paragraph-separate: "[ ]*$"
end: